﻿
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- saved from url=(0014)about:internet -->
<html xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:mssdk="winsdk" xmlns:script="urn:script" xmlns:build="urn:build" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="Description" content="March 2017"/>
<meta name="MSHAttr" content="PreferredSiteName:MSDN"/>
<meta name="MSHAttr" content="PreferredLib:/library/windows/hardware"/>
<title>Debugging Tools for Windows (WinDbg, KD, CDB, NTSD)</title>

<meta name="MS-HAID" content="Splash_Debug_99a88c5e-0b97-4ed2-a6ec-30022391cba5.xml"/>


<link rel="STYLESHEET" type="text/css" HREF="../common/backsdk4.css"/>





<style>
html,div { margin: 0; padding: 0;}

body {
	padding: 0px;
	margin: 0px;
	overflow: auto;
	height: 100%;
}

#winchm_template_button{
	float: right;
	width: 93px;
	top: 7px;
	position: relative;
	text-align: right;
	right: 5px;
	height: auto;
}

#winchm_template_top{
	padding: 0px;
	margin: 0px;
	border-bottom: 1px solid #9B9B9B;
	background-color: #B1CEFE;
}

#winchm_template_navigation{
	margin: 0px;
	padding-top: 7px;
	padding-left: 7px;
	padding-bottom: 3px;
	padding-right: 0px;
	font-size: 8.5pt;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: normal;
	color: #585858;
}

#winchm_template_title{
	margin: 0px;
	padding-top: 4px;
	padding-left: 7px;
	padding-bottom: 7px;
	padding-right: 0px;
	font-size: 18px; 
	font-family: Verdana, Geneva, sans-serif;
	color: #363636;
}

#winchm_template_content{
	margin-top: 20px;
	margin-left: 15px;
	margin-bottom: 20px;
	margin-right: 15px;
	width: auto  !important;
	width: 100%;
}

#winchm_template_footer{
	border-width: 1px;
	border-color: #B1CEFE;
	border-top-style: solid;
	margin-top: 15px;
	margin-left: 15px;
	margin-bottom: 20px;
	margin-right: 15px;
	padding-top: 7px;
	padding-left: 0px;
	padding-bottom: 0px;
	padding-right: 0px;
	font-family: arial, helvetica, sans-serif;
	font-size: 8.5pt;
	color: #696969;
	width: auto;
	text-align: left;
}


#winchm_template_container{
	margin: 0px;
	padding: 0px;
	position: static;
	padding-bottom: 3px;
	overflow: auto;
	background-color: #FFFFFF;
}


@media print
{
#winchm_template_container{
	position: static;	
	margin: 0px;
	padding: 5px;
	
	width: auto;
	height: auto;
	overflow: auto;
}
#winchm_template_button{
visibility:hidden;
}
}

#winchm_template_navigation A:link	{text-decoration: none; color:#004080}
#winchm_template_navigation A:visited  {text-decoration: none; color: #004080}
#winchm_template_navigation A:active {text-decoration: none; color: #004080 }
#winchm_template_navigation A:hover {text-decoration: none;color: #0080FF}

A:link	{text-decoration: underline; color:#0033CC}
A:visited  {text-decoration: underline; color: #0033CC}
A:active {text-decoration: underline; color: #0033CC }
A:hover {text-decoration: underline;color: #FF0000;}
</style>
<script type="text/javascript">
function isMobile(){
Agent = window.navigator.userAgent;
if (Agent.indexOf("iPhone")>=1 || Agent.indexOf("iPad")>=1 || Agent.indexOf("iPod")>=1 || Agent.indexOf("Android")>=1){
return true;
}else{
return false;	
}

}
function d_onresize(){
if (window.navigator.userAgent.indexOf("MSIE")>=1){
document.getElementById('winchm_template_container').style.pixelWidth = document.body.offsetWidth - 3;
document.getElementById('winchm_template_container').style.pixelHeight = document.body.offsetHeight - document.getElementById('winchm_template_top').offsetHeight - 4;
}
document.getElementById('winchm_template_container').style.top = document.getElementById('winchm_template_top').offsetHeight + 'px';
}

function d_onbeforeprint(){
document.getElementById('winchm_template_container').style.width = 'auto';
document.getElementById('winchm_template_container').style.height = 'auto';
}

function d_onafterprint(){
d_onresize();
}

if(!isMobile()){

window.onload = d_onresize;
window.onresize = d_onresize;
window.onbeforeprint = d_onbeforeprint;
window.onafterprint = d_onafterprint;

document.write("<style>\n");
document.write("body {overflow: hidden;}\n");
document.write("#winchm_template_container {position: absolute;overflow: auto;top : 0px;right: 0px;bottom: 0px;left: 0px;}\n");
document.write("</style>\n");
}

</script>
</head>
<body><script language="JavaScript" type="text/JavaScript">
function syn(){
if(parent.nav.tree){
 if(parent.nav.tree.loaded){
  parent.nav.tree.selectNode(0);
 }else{
  setTimeout("syn()",500);
}
  }else{
  setTimeout("syn()",500);
  }}
if(parent!=self){
  setTimeout("syn()",100);
}else{
  parent.location.href = "../../index.htm?page=debugger/introduction6.htm";
}
originalOnload = window.onload;
if(originalOnload==null){
window.onload = function(){parent.contentLoaded = true;};
}else{
window.onload = function(){originalOnload();parent.contentLoaded = true;};
}
</script> 


<div id="winchm_template_top">
	<div id="winchm_template_button"><img id="winchm_template_prev" alt="Previous topic" src="../template2/btn_prev_g.gif" border="0"><A href="getting_started_with_windows_debugging.htm" title="Next topic"><img id="winchm_template_next" alt="Next topic" src="../template2/btn_next_n.gif" border="0"></a></div>
	<div id="winchm_template_navigation">Help &gt; 
</div>
	<div id="winchm_template_title">Debugging Tools for Windows (WinDbg, KD, CDB, NTSD)</div>
</div>
<div id="winchm_template_container">
	<div id="winchm_template_content"><div id="mainSection"><p>March 2017</p>
<p>Start here for an overview of Debugging Tools for Windows. This tool set includes WinDbg and other debuggers.</p>
<h2><a id="3_ways_to_get_Debugging_Tools_for_Windows"></a><a id="3_ways_to_get_debugging_tools_for_windows"></a><a id="3_WAYS_TO_GET_DEBUGGING_TOOLS_FOR_WINDOWS"></a>3 ways to get Debugging Tools for Windows</h2>
<ul>
<li><b>As part of the WDK</b><p> Install Microsoft Visual Studio and then install the  Windows Driver Kit (WDK). Debugging Tools for Windows is included in  the WDK. You can  <a href="http://go.microsoft.com/fwlink/p?LinkID=239721">get the integrated environment here</a>.</p>
</li>
<li><b>As part of the Windows SDK</b><p>Install the  Windows Software Development Kit (SDK). Debugging Tools for Windows is included in  the Windows SDK. You can  <a href="http://go.microsoft.com/fwlink/p?LinkID=271979">get the Windows SDK here</a>.</p>
</li>
<li><b>As a standalone tool set</b><p>If you want to download only Debugging Tools for Windows, <a href="http://go.microsoft.com/fwlink/p?LinkID=271979">install the Windows SDK</a>, and, during the installation, select  the <b>Debugging Tools for Windows</b> box and clear  all the other boxes.</p>
</li>
</ul>
<h2><a id="Getting_Started_with_Windows_Debugging"></a><a id="getting_started_with_windows_debugging"></a><a id="GETTING_STARTED_WITH_WINDOWS_DEBUGGING"></a>Getting Started with Windows Debugging</h2>
<p>To get started with Windows debugging, see <a href="#Bookmark1">Getting Started with Windows Debugging</a>.</p>
<p>To get started with debugging kernel mode drivers,  see <a href="#Bookmark30">Debug Universal Drivers - Step by Step Lab (Echo Kernel-Mode)</a>. This is a step by step lab that shows how to use WinDbg to debug the sample KMDF echo driver.</p>
<h2><a id="Debugging_environments"></a><a id="debugging_environments"></a><a id="DEBUGGING_ENVIRONMENTS"></a>Debugging environments</h2>
<p>After you install Visual Studio and the WDK, you'll have six available <a href="#Bookmark5">debugging environments</a>. All of these debugging environments provide user interfaces for the same underlying debugging engine, which is implemented in dbgeng.dll. This debugging engine is called the <i>Windows debugger</i>, and the six debugging environments are collectively called the <i>Windows debuggers</i>.</p>
<div class="alert"><b>Note</b>  Visual Studio includes its own debugging environment and debugging engine, which together are called the <i>Visual Studio debugger</i>.  For information on debugging in Visual Studio, see <a href="http://go.microsoft.com/fwlink/p/?LinkID=238333">Visual Studio debugger</a>. If you are looking to debug managed code such as C#, using the Visual Studio is often easiest way to get started. </div>
<div> </div>
<h2><a id="Windows_debuggers"></a><a id="windows_debuggers"></a><a id="WINDOWS_DEBUGGERS"></a>Windows debuggers</h2>
<p>The Windows debuggers can run on x86-based, x64-based,  or ARM-based processors, and they can debug code that's running 
     on x86-based, x64-based, or ARM-based processors. Sometimes the debugger and the code being debugged run on the same 
     computer, but other times the debugger and the code being debugged run on separate computers. In either case, the 
     computer that's running the debugger is called the <i>host computer</i>, and the computer that is being debugged is called the <i>target computer</i>. The Windows debuggers support the following versions of Windows for both the host and target computers.</p>
<ul>
<li>
<p>Windows 10 and Windows Server 2016</p>
</li>
<li>
<p>Windows 8.1 and Windows Server 2012 R2</p>
</li>
<li>
<p>Windows 8 and Windows Server 2012</p>
</li>
<li>
<p>Windows 7 and Windows Server 2008 R2</p>
</li>
</ul>
<h2><a id="Symbols_and_Symbol_Files"></a><a id="symbols_and_symbol_files"></a><a id="SYMBOLS_AND_SYMBOL_FILES"></a>Symbols and Symbol Files</h2>
<p>Symbol files hold a variety of data which are not actually needed when running the binaries, but are very useful when debugging code. For more information about creating and using symbol files, see  <a href="#Bookmark1494">Symbols for Windows debugging (WinDbg, KD, CDB, NTSD)</a>.</p>
<h2><a id="Blue_Screens_and_crash_dump_files"></a><a id="blue_screens_and_crash_dump_files"></a><a id="BLUE_SCREENS_AND_CRASH_DUMP_FILES"></a>Blue Screens and crash dump files</h2>
<p>If Windows  stops working and displays a blue screen, the computer has shut down abruptly to protect itself from data loss and displays a bug check code. For more information, see <a href="#Bookmark1589">Bug Checks (Blue Screens)</a>. You analyze crash dump files that are created when Windows shuts down by using WinDbg and other Windows debuggers. For more information, see <a href="#Bookmark1557">Crash dump analysis using the Windows debuggers (WinDbg)</a>.</p>
<h2><a id="Tools_and_utilities"></a><a id="tools_and_utilities"></a><a id="TOOLS_AND_UTILITIES"></a>Tools and utilities</h2>
<p>In addition to the debuggers, Debugging Tools for Windows includes a set of tools that are useful for 
     debugging. For a full list of the tools, see 
     <a href="#Bookmark33">Tools Included in Debugging Tools for Windows</a>.</p>
<h2><a id="Additional_documentation"></a><a id="additional_documentation"></a><a id="ADDITIONAL_DOCUMENTATION"></a>Additional documentation</h2>
<p>For additional information related to Debugging Tools for Windows, see 
     <a href="#Bookmark31">Debugging Resources</a>. For information on what's new in Windows 10, see <a href="#Bookmark32">Debugging Tools for Windows: New for Windows 10</a>.</p>
<h2><a id="In_this_section"></a><a id="in_this_section"></a><a id="IN_THIS_SECTION"></a>In this section</h2>
<ul>
<li><a href="#Bookmark1">Getting Started with Windows Debugging</a></li>
<li><a href="#Bookmark31">Debugging Resources</a></li>
<li><a href="#Bookmark1199">Debugger Operation</a></li>
<li><a href="#Bookmark1348">Debugging Techniques</a></li>
<li><a href="#Bookmark1494">Symbols</a></li>
<li><a href="#Bookmark1557">Crash Dump Analysis</a></li>
<li><a href="#Bookmark1589">Bug Checks (Blue Screens)</a></li>
<li><a href="#Bookmark1901">Debugger Reference</a></li></ul></div></div>	
	<div id="winchm_template_footer">Copyright &copy; 2019. All rights 
reserved. (To change the copyright info, just edit it in template.)</div>
</div>

</body>
</html>
